#!/usr/bin/env python3
"""
XXX DEX PPT Generator - 主入口文件
生成深色科技风格的XXX DEX产品演示PPT
"""

from fastapi import FastAPI, File, UploadFile, HTTPException
from fastapi.responses import FileResponse
from fastapi.middleware.cors import CORSMiddleware
from src.ppt_generator import XXXDEXPPTGenerator
import uvicorn
import os
import tempfile

app = FastAPI(
    title="XXX DEX PPT Generator",
    description="生成XXX DEX产品演示PPT的自动化工具",
    version="1.0.0"
)

# 配置CORS
app.add_middleware(
    CORSMiddleware,
    allow_origins=["*"],
    allow_credentials=True,
    allow_methods=["*"],
    allow_headers=["*"],
)

@app.post("/generate-ppt")
async def generate_ppt():
    """生成PPTX文件并返回下载链接"""
    try:
        generator = XXXDEXPPTGenerator()
        
        # 创建临时文件
        with tempfile.NamedTemporaryFile(suffix='.pptx', delete=False) as tmp_file:
            tmp_path = tmp_file.name
            
        # 生成PPT
        generator.create_presentation(tmp_path)
        
        return FileResponse(
            tmp_path,
            media_type="application/vnd.openxmlformats-officedocument.presentationml.presentation",
            filename="XXX-DEX-产品演示.pptx"
        )
        
    except Exception as e:
        raise HTTPException(status_code=500, detail=str(e))

@app.get("/health")
async def health_check():
    """健康检查接口"""
    return {"status": "healthy", "service": "XXX DEX PPT Generator"}

if __name__ == "__main__":
    uvicorn.run(app, host="0.0.0.0", port=8000)